The present invention relates to database testing, and in particular, to systems and methods for repeatable database performance testing.
Methodic software development should include repetitive performance evaluation and optimization of fundamental system components to lead to high-quality software products. In this context, the performance evaluation of database applications (e.g., relational database applications) is of special importance since sub-optimal database structures and access or update statements can result in severe performance problems. For efficient database performance evaluation, tools are needed that allow the flexible definition of repeatable performance experiments at both the individual access statement level (individual database transaction statements such as SQL statements, micro benchmark) and on the benchmark level (entire query mix/sequence of statements of a database application program). In addition, it would be beneficial if the tool provided a detailed and clear presentation of the performance properties of the respective test, and should support the documentation of individual test cases.
Although a multitude of software test tools (e.g., CASE tools) exist, none of the existing tools provide a low-footprint and easy to use solution for the definition, execution, and/or documentation of database performance experiments. Furthermore, none of the existing system test tools provide a comprehensive and simple database testing methodology comprising all steps from test case identification and execution to test result evaluation and documentation. Rather, existing test tools are designed to support a broad spectrum of test classes, and thus impose a more significant burden on the system under test (SUT) and are typically difficult to use.
Thus, there is a need for improved database testing systems and methods. The present invention solves these and other problems by providing systems and methods for repeatable database performance testing.